View Issue Details

IDProjectCategoryView StatusLast Update
0001227T99X171.00 SKB EagleSW Issuepublic2021-09-30 10:38
Reporter(ALTech) Younkwang Jung Assigned To(ALTech) Younkwang Jung Due Date
PriorityurgentSeveritys2-severeReproducibilityhave not tried
Status closedResolutionfixed 
Summary0001227: [Smart3][BTF] Issue that the resolution is changed to 720p due to failure to read EDID
DescriptionHi kerwin

FW : v15.524.4b ( official finial )
TV : LG Smart TV(OLED55E6K)

The issue of changing the resolution to 720p was reported due to failure while reading the EDID after wakeup.
and this issue is occurred when sleep/wakeup with integrated power button of RCU

In other words, it is assumed that the STB will not be able to read the EDID as the STB turns on while the HPD is LOW on the TV side.

I attached the log , please check it

Thank you
YK.Jung
TagsNo tags attached.
Attach Tags

Users monitoring this issue

User List (ALTech) SY Yoon , (SW) Brent Choi

Activities

(ALTech) Younkwang Jung

2021-05-13 08:43

developer  

(SW) Kerwin Chen

2021-05-13 11:28

developer   ~0007109

Hi Mr. YK Jung,

HPD is an input pin for STB and it is pulled by TV.

BTW, I see the output is set to 720p not 'auto' mode.
So even Smart3 get correct EDID, output mode is still kept as 720p.
I am not sure if there is anything wrong now..

============================================
...
05-12 13:06:11.420 3464 3539 I SystemControl: 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c472054560a20202020202020019f02035bf1506110040503022022015d5e5f66626364293d06c015075009570775030c001000b83c20c08701020304014001fc18101667d85dc401788003e200cfee0146d00024180900ad5244a9230ce305c000e3060d01e30f0110011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e37
05-12 13:06:11.421 3464 3539 I SystemControl: getBootEnv key:ubootenv.var.hdmimode value:720p60hz
05-12 13:06:11.421 3464 3539 I SystemControl: getBootEnv key:ubootenv.var.is.bestmode value:false
05-12 13:06:11.421 3464 3539 I SystemControl: write /sys/module/amvdec_h265/parameters/double_write_mode, val:0 end
05-12 13:06:11.422 3464 3539 I SystemControl: display sink type:1 [0:none, 1:sink, 2:repeater], old outputmode:null, new outputmode:720p60hz
05-12 13:06:11.422 3464 3539 I SystemControl: outputmode is not auto

(ALTech) Younkwang Jung

2021-05-13 12:07

developer   ~0007110

Hi kerwin

I attahced one more log , this is an issue log that occurred on May 11th.
you can see "edid: Wrong EDID header"
Please check this log

I'll talk to skb manager more about the log dated May 12th.

Thank you
YK.Jung

(ALTech) Younkwang Jung

2021-05-14 09:41

developer   ~0007120

Reminder sent to: (SW) Kerwin Chen

(ALTech) Younkwang Jung

2021-05-14 10:30

developer   ~0007123

Last edited: 2021-05-14 10:39

View 4 revisions

Hi kerwin

SKB says there is always a condition that the resolution is 720p.

1) STB enters sleep state.
2) Remove the HDMI cable.
3) Wake up STB.
4) Connect the HDMI cable.

In this case, the resolution will be changed to 720p.
Please reproduce it using this test method.

In addition, SKB manager gave me the following additional test code. (this is the opinion of the skb manager. )
SKB manager say it can be improved if FXN modify it like this ( Of course, the FXN should review it. )
Please check. it
=============================================================================================
diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c
index 87835107a382..736316e89df3 100644
--- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c
+++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c
@@ -3638,9 +3638,13 @@ static ssize_t store_stop_hpd(struct device *dev,
        } else if (buf[0] == '0') { //Resume
               pr_info(SYS "Restore HDMI HPD\n");
                stop_hpd = 0;
- hdmitx_device.hpd_state = 1;
- hdev->hdmitx_event |= HDMI_TX_HPD_PLUGIN;
- hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGOUT;
+ // hdmitx_device.hpd_state = 1;
+ hdmitx_device.hpd_state = !!(hdmitx_device.hwop.cntlmisc(
+ &hdmitx_device, MISC_HPD_GPI_ST, 0));
+ if (hdmitx_device.hpd_state == 1) {
+ hdev->hdmitx_event |= HDMI_TX_HPD_PLUGIN;
+ hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGOUT;
+ }
                queue_delayed_work(hdev->hdmi_wq,
                        &hdev->work_hpd_plugin, HZ / 2);
        }
========================================================================================
Thank you.
YK.Jung

(SW) Kerwin Chen

2021-05-14 18:07

developer   ~0007132

Fix is committed to BitBucket

(ALTech) Younkwang Jung

2021-05-17 08:21

developer   ~0007135

Hi Kewin

Please explain briefly about the changes.
You've also changed the suspend status.

What test do we need to do to check side effects?

Thanks
YK.Jung

(SW) Kerwin Chen

2021-05-17 09:10

developer   ~0007136

Hi Mr. YK Jung,

It is similar with SKB manager's suggestion.
The root cause is there is an unnecessary call to hotplug event handler when STB is wakeup from sleep mode.
We add a HDP state check before call to hotplug event handler to solve it.

BTW, I don't understand about your question about "You've also changed the suspend status."
Please give more details.
Thanks !

(ALTech) Younkwang Jung

2021-05-17 09:40

developer   ~0007137

Last edited: 2021-05-17 09:41

View 2 revisions

Hi Kerwin

I'm asking about this part below. ( + //hdmitx_device.hpd_state = 0; <===== This is my question )
===========================================================================
--- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c
+++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c
@@ -3724,13 +3724,17 @@ static ssize_t store_stop_hpd(struct device *dev,
        if (buf[0] == '1') { //Suspend
                pr_info(SYS "Stop HDMI HPD\n");
                stop_hpd = 1;
- hdmitx_device.hpd_state = 0;
+ //hdmitx_device.hpd_state = 0; <===== This is my question
        } else if (buf[0] == '0') { //Resume
- pr_info(SYS "Restore HDMI HPD\n");
+ int hpd_state = !!(hdmitx_device.hwop.cntlmisc(&hdmitx_device,
+ MISC_HPD_GPI_ST, 0));
+ pr_info(SYS "Restore HDMI HPD, hpd %d\n", hpd_state);
                stop_hpd = 0;
- hdmitx_device.hpd_state = 1;
- hdev->hdmitx_event |= HDMI_TX_HPD_PLUGIN;
- hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGOUT;
+ if (hpd_state == 1) {
+ //hdmitx_device.hpd_state = 1;
+ hdev->hdmitx_event |= HDMI_TX_HPD_PLUGIN;
+ hdev->hdmitx_event &= ~HDMI_TX_HPD_PLUGOUT;
+ }
                queue_delayed_work(hdev->hdmi_wq,
                        &hdev->work_hpd_plugin, HZ / 2);
        }
=====================================================================
Thanks
YK.jung

(SW) Kerwin Chen

2021-05-17 10:33

developer   ~0007140

Hi Mr. YK Jung,

'hdmitx_device.hpd_state' is used to store current hotplug status.
We keep original AML's implementation so the value is not changed in 'store_stop_hpd()'.
Thanks !

Issue History

Date Modified Username Field Change
2021-05-13 08:43 (ALTech) Younkwang Jung New Issue
2021-05-13 08:43 (ALTech) Younkwang Jung Status new => assigned
2021-05-13 08:43 (ALTech) Younkwang Jung Assigned To => (SW) Kerwin Chen
2021-05-13 08:43 (ALTech) Younkwang Jung File Added: LogFilter_20210512_130226.zip
2021-05-13 08:47 (ALTech) Younkwang Jung Issue Monitored: (SW) Brent Choi
2021-05-13 08:48 (ALTech) Younkwang Jung Issue Monitored: (ALTech) SY Yoon
2021-05-13 11:28 (SW) Kerwin Chen Note Added: 0007109
2021-05-13 12:07 (ALTech) Younkwang Jung File Added: LogFilter_20210511_194246.zip
2021-05-13 12:07 (ALTech) Younkwang Jung Note Added: 0007110
2021-05-14 09:41 (ALTech) Younkwang Jung Note Added: 0007120
2021-05-14 10:30 (ALTech) Younkwang Jung Note Added: 0007123
2021-05-14 10:36 (ALTech) Younkwang Jung Note Edited: 0007123 View Revisions
2021-05-14 10:38 (ALTech) Younkwang Jung Note Edited: 0007123 View Revisions
2021-05-14 10:39 (ALTech) Younkwang Jung Note Edited: 0007123 View Revisions
2021-05-14 18:07 (SW) Kerwin Chen Assigned To (SW) Kerwin Chen => (ALTech) Younkwang Jung
2021-05-14 18:07 (SW) Kerwin Chen Status assigned => resolved
2021-05-14 18:07 (SW) Kerwin Chen Resolution open => fixed
2021-05-14 18:07 (SW) Kerwin Chen Note Added: 0007132
2021-05-17 08:21 (ALTech) Younkwang Jung Note Added: 0007135
2021-05-17 09:10 (SW) Kerwin Chen Note Added: 0007136
2021-05-17 09:40 (ALTech) Younkwang Jung Note Added: 0007137
2021-05-17 09:41 (ALTech) Younkwang Jung Note Edited: 0007137 View Revisions
2021-05-17 10:33 (SW) Kerwin Chen Note Added: 0007140
2021-09-30 10:38 (ALTech) Younkwang Jung Status resolved => closed